package com.sls.web.manager.game.service;

import com.sls.web.manager.game.pojo.xqt.XQTAccountTypeInfo;
import com.sls.web.manager.game.pojo.xqt.XQTChargetypeInfo;
import com.sls.web.manager.game.pojo.xqt.XQTDiscountInfo;
import com.sls.web.manager.game.pojo.xqt.XQTGameAreaServerInfo;
import com.sls.web.manager.game.pojo.xqt.XQTOrderQueryInfo;
import com.sls.web.manager.game.pojo.xqt.XQTParvalueInfo;
import com.sls.web.manager.game.pojo.xqt.XQTTopInfo;
import com.sls.web.manager.game.querybean.XQTAccountTypeQuery;
import com.sls.web.manager.game.querybean.XQTChargeTypeQuery;
import com.sls.web.manager.game.querybean.XQTDiscountQuery;
import com.sls.web.manager.game.querybean.XQTGameAreaServerQuery;
import com.sls.web.manager.game.querybean.XQTParvalueQuery;
import com.sls.web.manager.game.querybean.XQTTopQuery;
import com.sls.web.manager.page.Pagination;
import com.sls.web.manager.pojo.UserInfoVO;

/**
 * 星启天产品信息管理
 * 
 * @author cx
 * 
 */
public interface XQTService {

	/**
	 * 保存文件头信息
	 * 
	 * @param topInfo
	 * @param userInfoVO
	 * @return
	 * @throws Exception
	 */
	public void saveOfGoodsTop(XQTTopInfo topInfo, UserInfoVO userInfoVO)
			throws Exception;

	/**
	 * 保存商品面值信息
	 * 
	 * @param parInfo
	 * @param userInfoVO
	 * @return
	 * @throws Exception
	 */
	public void saveOfParvalue(XQTParvalueInfo parInfo, UserInfoVO userInfoVO)
			throws Exception;

	/**
	 * 保存充值类型信息
	 * 
	 * @param chargeInfo
	 * @param userInfoVO
	 * @return
	 * @throws Exception
	 */
	public void saveOfChargeType(XQTChargetypeInfo chargeInfo,
			UserInfoVO userInfoVO) throws Exception;

	/**
	 * 保存账户信息
	 * 
	 * @param accountInfo
	 * @param userInfoVO
	 * @return
	 * @throws Exception
	 */
	public void saveOfAccountType(XQTAccountTypeInfo accountInfo,
			UserInfoVO userInfoVO) throws Exception;

	/**
	 * 保存区服信息
	 * 
	 * @param asInfo
	 * @param userInfoVO
	 * @return
	 * @throws Exception
	 */
	public void saveOfAreaSrv(XQTGameAreaServerInfo asInfo,
			UserInfoVO userInfoVO) throws Exception;

	/**
	 * 保存产品折扣信息
	 * 
	 * @param disInfo
	 * @param userInfoVO
	 * @return
	 * @throws Exception
	 */
	public void saveOfDiscount(XQTDiscountInfo disInfo, UserInfoVO userInfoVO)
			throws Exception;

	/**
	 * 产品面值信息分页查询
	 * 
	 * @param parvalueQuery
	 * @return
	 */
	public Pagination<XQTParvalueInfo> queryParvalueInfo(
			XQTParvalueQuery parvalueQuery, UserInfoVO userInfoVO)
			throws Exception;

	/**
	 * 产品面值信息详情查询
	 * 
	 * @param id
	 * @param userInfoVO
	 * @return
	 */
	public XQTParvalueInfo queryParvalueById(String id, UserInfoVO userInfoVO)
			throws Exception;

	/**
	 * 游戏区服分页查询
	 * 
	 * @return
	 * @throws Exception
	 */
	public Pagination<XQTGameAreaServerInfo> queryAreaServerInfo(
			XQTGameAreaServerQuery asQuery, UserInfoVO userInfoVO)
			throws Exception;

	/**
	 * 区服详情查询
	 * 
	 * @param id
	 * @param userInfoVO
	 * @return
	 * @throws Exception
	 */
	public XQTGameAreaServerInfo queryDetailAreaServerInfo(String id,
			UserInfoVO userInfoVO) throws Exception;

	/**
	 * 产品折扣信息分页查询
	 * 
	 * @return
	 * @throws Exception
	 */
	public Pagination<XQTDiscountInfo> queryDiscountInfo(
			XQTDiscountQuery discountQuery, UserInfoVO userInfoVO)
			throws Exception;

	/**
	 * 产品充值类型分页查询
	 * 
	 * @param chargeTypeQuery
	 * @param userInfoVO
	 * @return
	 * @throws Exception
	 */
	public Pagination<XQTChargetypeInfo> queryChargeTypeInfo(
			XQTChargeTypeQuery chargeTypeQuery, UserInfoVO userInfoVO)
			throws Exception;

	/**
	 * 充值类型详情查询
	 * 
	 * @param id
	 * @param userInfoVO
	 * @return
	 * @throws Exception
	 */
	public XQTChargetypeInfo queryDetailChargeTypeInfo(String id,
			UserInfoVO userInfoVO) throws Exception;

	/**
	 * 账号信息分页查询
	 * 
	 * @param accountTypeQuery
	 * @param userInfoVO
	 * @return
	 * @throws Exception
	 */
	public Pagination<XQTAccountTypeInfo> queryAccountTypeInfo(
			XQTAccountTypeQuery accountTypeQuery, UserInfoVO userInfoVO)
			throws Exception;

	/**
	 * 头信息分页查询
	 * 
	 * @param topQuery
	 * @param userInfoVO
	 * @return
	 * @throws Exception
	 */
	public Pagination<XQTTopInfo> queryTopInfo(XQTTopQuery topQuery,
			UserInfoVO userInfoVO) throws Exception;

	/**
	 * 商品审核
	 * 
	 * @param supplierId
	 * @param priceRatio
	 * @param currentOperator
	 */
	public void confirmAudit(String supplierId, int priceRatio,
			UserInfoVO currentOperator) throws Exception;

	/**
	 * 批量上架
	 * 
	 * @param goodsState
	 * @param userInfoVO
	 */
	public void batchOnline(String goodsState, UserInfoVO userInfoVO)
			throws Exception;

	/**
	 * 批量下架
	 * 
	 * @param goodsState
	 * @param userInfoVO
	 */
	public void batchOffline(String goodsState, UserInfoVO userInfoVO)
			throws Exception;

	/**
	 * 更新折扣率信息
	 * 
	 * @param disInfo
	 * @param userInfoVO
	 */
	public void updateSalePrice(XQTDiscountInfo disInfo, UserInfoVO userInfoVO)
			throws Exception;

	/**
	 * 订单查询
	 * 
	 * @return
	 * @throws Exception
	 */
	public XQTOrderQueryInfo orderQuery(String merchantid, String tranid,
			UserInfoVO userInfoVO) throws Exception;

}
